package problem08_04;
//面试题0804.汉诺塔
import java.util.List;

class Solution {
    public void hanota(List<Integer> A, List<Integer> B, List<Integer> C) {
        move(A,B,C,A.size());
    }
    public void move(List<Integer> A, List<Integer> B, List<Integer> C, int n) {
        if(n == 1) {
            C.add(A.get(A.size()-1));
            A.remove(A.size()-1);
            n--;
            return;
        }

        //将A的n-1个盘子借助C移到B
        move(A, C, B, n-1);

        //将A的一个盘子直接移到C
        move(A, B, C, 1);

        //将B的n-1个盘子借助A移到C
        move(B, A, C, n-1);
    }
}